package com.ruoyi.system.domain;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * MBTI题目对象 mbti_question
 * 
 * @author ruoyi
 * @date 2025-01-21
 */
public class MbtiQuestion extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 题目ID */
    @Excel(name = "题目ID", cellType = ColumnType.NUMERIC)
    private Long questionId;

    /** 测试类型ID */
    @Excel(name = "测试类型ID", cellType = ColumnType.NUMERIC)
    @NotNull(message = "测试类型ID不能为空")
    private Long testTypeId;

    /** 题目内容 */
    @Excel(name = "题目内容")
    @NotBlank(message = "题目内容不能为空")
    private String questionText;

    /** 题目顺序 */
    @Excel(name = "题目顺序", cellType = ColumnType.NUMERIC)
    @NotNull(message = "题目顺序不能为空")
    private Integer questionOrder;

    /** 维度(E/I, S/N, T/F, J/P) */
    @Excel(name = "维度")
    @NotBlank(message = "维度不能为空")
    @Size(min = 0, max = 10, message = "维度不能超过10个字符")
    private String dimension;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    public void setQuestionId(Long questionId) 
    {
        this.questionId = questionId;
    }

    public Long getQuestionId() 
    {
        return questionId;
    }

    public void setTestTypeId(Long testTypeId) 
    {
        this.testTypeId = testTypeId;
    }

    public Long getTestTypeId() 
    {
        return testTypeId;
    }

    public void setQuestionText(String questionText) 
    {
        this.questionText = questionText;
    }

    public String getQuestionText() 
    {
        return questionText;
    }

    public void setQuestionOrder(Integer questionOrder) 
    {
        this.questionOrder = questionOrder;
    }

    public Integer getQuestionOrder() 
    {
        return questionOrder;
    }

    public void setDimension(String dimension) 
    {
        this.dimension = dimension;
    }

    public String getDimension() 
    {
        return dimension;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("questionId", getQuestionId())
            .append("testTypeId", getTestTypeId())
            .append("questionText", getQuestionText())
            .append("questionOrder", getQuestionOrder())
            .append("dimension", getDimension())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
